技術問答
技術文章
iT 徵才
Tag
聊天室
2023 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2017 iT 邦幫忙鐵人賽
DAY
17
1
自我挑戰組
你看微客=[ 前端領域 - 超入門 ]
系列 第
17
篇
Ajax---[ Ajax、JSON、JSONP ]---無用小觀念
2017鐵人賽
ucvic
2016-12-29 19:57:51
1950 瀏覽
分享至
Ajax、JSON、JSONP
Ajax ( Asynchronous Javascript and XML ) 指的是
網頁伺服器回應網頁請求,在不重新載入頁面的情況下更新的技術
,如 FB 的按讚、登入而不離開網頁、投票與評分等都是 Ajax 技術的應用。
Ajax 實際是借由瀏覽器、Javascript、網頁伺服器,此三種元件搭配運作來實現:
瀏覽器:接收使用者操作來觸發事件,並利用
內建的 XMLHttpRequest 物件
連結 Javascript 語言。
Javascript:利用 XMLHttpRequest 物件提供的方法及屬性來送出請求給網頁伺服器,然後等待、處理回應,並
以載入部分頁面的方式來更新網頁
。
網頁伺服器:接收請求並回應資訊給瀏覽器,一般是
回傳 JSON 或 XML 格式的資料
。
XMLHttpRequest 物件提供 GET 及 POST 兩種不同的方法來傳送資料給瀏覽器,
採用何種方式需視伺服器端如何設計而定
。
GET 方法會將要傳送的索引資料接在 URL 之後,於 URL 欄可見,安全性較差,
適合不會影響伺服器端資料庫或檔案的請求
。
POST 方法會將傳送的資料與 URL 分開,於 URL 欄可見,安全性較高,
當發出請求所傳送的資料會影響伺服器端資訊時較適用
。
JSON ( Javascript Object Notation ) 的格式與 Javascript 物件非常相似,瀏覽器可以快速的將其轉換為 Javascript 可處理的物件,而 XML 在處理之前須先解析其 DOM ,才能讓 Javascript 進行處理,耗費較多時間與資源,故目前 JSON 是 Ajax 交換資料較常見的格式。
JSON 格式與 Javascript 物件的主要差異在於,
JSON 物件的屬性名稱需使用雙引號包圍,且資料皆為字串形式,其內容同樣要用雙引號包圍
。
範例:
{ "name" : "vic", "sex" : "male", "age" : "34" }
Ajax 請求因為安全性的考量,被瀏覽器限制在同一來源。
JSONP ( JSON with padding ) 提供從其他網站讀取資料的方式,其方法就像是連結第三方網站的外部 Javascript 檔案。
目標第三方網站必須設定能回應 JSONP
,才能使用 JSONP 對其請求資料。
留言
追蹤
檢舉
上一篇
jQuery---[ 外掛 ( plug-in )、jQuery UI ]---無用小觀念
下一篇
RWD---[ 響應式網站 ( 一 ) ]---無用小觀念
系列文
你看微客=[ 前端領域 - 超入門 ]
共
30
篇
目錄
RSS系列文
訂閱系列文
17
人訂閱
26
React---[ 自訂元件、props特性 ]---無用小觀念
27
React---[ state 狀態、事件處理 ]---無用小觀念
28
React---[ JSX ]---無用小觀念
29
Git---[ Git 基本觀念 ]
30
30天鐵人賽---[ 參賽心得 ]
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1123
組
團體組數
52
組
累計文章數
23096
篇
完賽人數
656
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
2018鐵人賽
javascript
2017鐵人賽
python
windows
php
c#
windows server
linux
css
程式設計
react
vue.js
熱門問題
網路佈線請益
一般硬體防火牆,對外 大多要限制那些服務?
請問有人可以幫我下載這個百度雲盤檔案到Google drive嗎?
租用電腦服務
請問如何讓20出頭的人,由不會到會呢
日本哪裡最好玩呢
LINE群組是否有進階功能
如何在AD上面派送文字訊息給user
Rocky Linux 登入問題
FAT32 有分什麼版本嗎? CCTV 不支持
熱門回答
網路佈線請益
請問如何讓20出頭的人,由不會到會呢
一般硬體防火牆,對外 大多要限制那些服務?
FAT32 有分什麼版本嗎? CCTV 不支持
這是信箱被盜了嗎
熱門文章
使用 AWS建立商品管理系統
Bigme B251 25.1吋 彩色電子紙螢幕
線上點餐系統
如何使用AWS AI Service Cards – Amazon Rekognition ?
所有常用HTML標籤的層級和用途
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}